package com.it.d13_stringBuilder;

public class Test {
    public static void main(String[] args) {

        /*
            构造器：
               1.public StringBuilder() 创建一个空白的可变字符串对象,不包含任何内容
               2.public StringBuilder(String str) 创建一个指定的字符串内容的可变字符串对象

               StringBuilder 和 StringBuffer 用法是一模一样的，但StringBuilder是线程不安全的  StringBuffer是线程安全的
         */

        // 目标：搞清楚StringBuilder的用法和作用

        // StringBuilder s = new StringBuilder(); //s ""
//        StringBuilder s = new StringBuilder("itheima"); //s "itheima"

        StringBuffer s = new StringBuffer("itheima"); //s "itheima"

        // 1、拼接内容 append(任意类型)=>添加数据并返回StringBuilder对象本身
        s.append(12);
        s.append("黑马");
        s.append(true);

        // 支持链式编程
        s.append(666).append("黑马").append(999);
        System.out.println(s);

        System.out.println("------------------------------------------");

        // 2、reverse()=>将对象的内容反转
        s.reverse();
        System.out.println(s);

        System.out.println("------------------------------------------");

        //3、length()=>返回对象内容长度
        int sl = s.length();
        System.out.println(sl);

        System.out.println("------------------------------------------");

        //4、把StringBuilder的对象又转换成String类型
        String rs = s.toString();
        System.out.println(rs);
    }
}
